The present invention relates to controlling machines having members that move along or rotate about a plurality of axes, and more particularly to controllers that coordinate simultaneous movement of those members.
Machine tools commonly move a tool bit or other component in two or three axes to produce workpieces having two or three dimensional contours. Traditionally, such multiple axis machines were powered by a single motor which drove a common shaft. This power source often was referred to as a line shaft. Power was transferred from that line shaft to the different axes via mechanisms such as gears, cams and lead-screws. These mechanical linkages served two major purposes: the transfer of power and the coordination of relative motion among the axes. Inherent to the line shaft machine was inter-axis state feedback, or "stiffness," provided via the common power shaft. This inter-axis stiffness was the driving force for the coordination of the multiple axes and was bounded by the physical mechanics of the machines. In other words, resistance to movement along one axis was transferred back to the common line shaft and correspondingly affected the driving of mechanisms for the other axes. One example of this type of machine, which is still in frequent use today, is the engine lathe. Coordinated motion is accomplished with stiff, precision gear trains with user selectable ratios to fit individual machining applications. The degree to which the performance requirements are met is a function of the mechanical properties of the mechanisms and the ability to match a fixed number of gear ratios to the application. Precise matching of the requirements often could not be achieved by these machines.
As advances in computer control, power electronics and high performance servo-drives became available, programmable replacements for the hard-shafted machines began to evolve. The programmability allowed commands for multiple axes of motion to be coordinated together along with complex motion trajectories. One example of a machine using this control is a vertical CNC mill. The trajectory is computed off-line and the axes are controlled by computer controlled servo-motors. Although this power and flexibility provided enormous strides in manufacturing automation and precision, it lost some favorable attributes of the line-shaft predecessors. The mechanical inter-axis stiffness was not achieved by previous topologies for coordinating multiple axis motion with dynamically variable kinematics in programmable computer controlled machines.
Conventional methods for coordinating multiple degree-of-freedom machines were realized in programmable machines with a master command generator. The master command generator produced the required number of independent command references for the machine and synchronously sent these commands to each independent axis controller. This command reference could be precalculated and stored for later retrieval or computed in real-time. Numerous motion interpolation techniques can be utilized to facilitate a synchronous command generation technique. The independent time variable was discretized by the computer controller and was available to all of the required interpolating functions. Since all the functions received the same time reference, the functions produced the correct time synchronized commands.
However, these command generation topologies do not contain a mechanism which ensures that the machine synchronously tracks the command reference. This condition permits one axis to lag another in the presence of disturbances or drive saturation. For coordination to be maintained, the machine is required to produce stiff motion not only relative to the command reference, but most importantly, with respect to the other axes.
Another control mechanism is the slaving of one axis to another. The master-slave topology for command generation consists of a slower-responding axis serving as the master command generator and one or more other high performance slave axes servoing off the master's response. This topology is widely used in some sectors of the machine tool industry and represents a much closer analogy to the once standard line shaft machines than does the synchronized command topology.
If the slave controllers are modeled properly and tuned for similar closed-loop Eigenvalues, then synchronization will occur. However, if there are errors in the feedforward estimates or disturbances acting on one or more slave axes, the coordination of the machine suffers. Furthermore,.if a prescribed trajectory is infeasible, the system may enter the highly non-linear realm of saturation. These situations have many undesirable properties. Thus, present control topologies for computer controlled, servo-driven multiple axis machines emulating dynamically variable kinematics have not been able to replicate the beneficial inter-axis stiffness provided by line shaft machines.